home *** CD-ROM | disk | FTP | other *** search
/ MacFormat 1996 June / macformat-038.iso / Shareware City / Developers / Horizon v1.0 Demo Folder / Docs / Appendices next >
Encoding:
Text File  |  1996-03-07  |  9.4 KB  |  237 lines  |  [ttro/ttxt]

  1.  
  2.  
  3.  
  4.  
  5.  
  6.  
  7.  
  8.  
  9.  
  10.  
  11.  
  12.  
  13.  
  14.  
  15.  
  16.  
  17.  
  18.  
  19. Appendices
  20. ----------
  21.  
  22.  
  23.  
  24.  
  25. Disclaimer: Your decision to use Horizon and to take the advice contained within this documentation is yours alone and I will not accept any responsibility for loss of data or any other kind of damage arising from the use of this software/documentation.
  26.  
  27.  
  28.  
  29.  
  30.  
  31. A - Software transfer from the BBC Micro to Mac
  32. -----------------------------------------------
  33.  
  34. You will have gathered by now that unless you have a BBC Micro (Model B with MOS 1.20) and a disk drive, you probably won't find much use for this emulator. If you have one, here's how to transfer files from the BBC Micro to the Mac.
  35.  
  36. You will first need to make a cable with a 5 Pin C DIN plug at one end (for the BBC RS423 socket) and a 8 pin mini DIN plug at the other (for the Mac modem socket). A good source for these in the U.K. is Maplin Electronics, Essex (Tel: 0702 552911). The Maplin part numbers are:-
  37.  
  38.    RK64U   DIN Plug (5 Pin C)
  39.    JX06G   Mini DIN Line Plug (8 Pin)
  40.    XR25C   Four core screened cable (or similar)
  41.  
  42. The cost for these items should be around two pounds. Check out their latest catalogue.
  43.  
  44.  
  45. QUICK AND DIRTY METHOD: In fact, you can get away with just making a crude connection with 3 pieces of insulated wire to start with. Make sure the wires are no longer than 2 or 3 feet to avoid interference. If you plan to transfer lots of stuff, make a proper cable as soon as you can.
  46.  
  47.  
  48. Below is a diagram of the two sockets, looking INTO THE BACKS of the respective computers.
  49.  
  50.  
  51.  
  52.      BBC Micro (RS 423)           Mac 8 pin mini-modem
  53.  
  54.  
  55.      • RTS     • Data In              • 8     • 7     • 6
  56.  
  57.           • GND                      • 5      • 4      • 3
  58.  
  59.      • CTS     • Data Out                 • 2     • 1
  60.  
  61.  
  62.  
  63. Connections required are GND to 4,  CTS to 6  and  Data Out to 5.
  64.  
  65.  
  66. ------|------
  67.  
  68.  
  69. Now to create a BBC file of the MOS ROM onto your BBC disk drive, type
  70.  
  71. *SAVE OSROM C000 +4000
  72.  
  73. and to create a BBC file of the BASIC ROM, run this program...
  74.  
  75. 10 FOR I%=0 TO &3FFF
  76. 20 ?(&2000 + I%) = ?(&8000 + I%)
  77. 30 NEXT I%
  78. 40 *SAVE BASIC 2000 +4000
  79.  
  80. This copies the BASIC into RAM and then saves it. Note that *SAVE BASIC 8000 +4000 on its own doesn't work; you end up saving the DFS ROM!
  81.  
  82.  
  83. ------|------
  84.  
  85.  
  86. With the cable set up, you now need some kind of communication utility for the Mac such as Zterm, which is a shareware application and widely available. Set the baud rate to the same value for both the BBC Micro and the Mac; I recommend 4800 bits per second. To do this on the BBC Micro, type 
  87.  
  88. *FX 8 6
  89.  
  90. followed by
  91.  
  92. *FX 3 1
  93.  
  94. which will send screen output to the RS 432 port. If you have Zterm (or whatever) set up okay, you should see the BBC screen output echoed in Zterm. I usually *DUMP files over to Zterm, so now just type *DUMP OSROM and watch the dump being echoed in the Zterm window.
  95.  
  96. When it's finished, remove all preceding lines of text before the *DUMP output before saving from Zterm. This is important otherwise the 'Decode' utility will not produce the correct binary version of the dump.
  97.  
  98. Empty the Zterm window and repeat with *DUMP BASIC.
  99.  
  100.  
  101. ------|------
  102.  
  103.  
  104. Okay, put the 2 files in the 'DUMP_Files' folder. Run 'Decode' to convert these ASCII dumps to binary. The new files will be in the 'Raw_Files' folder under the same names. Move these two files in the 'ROMs' folder. All being well, Horizon should now boot up into BASIC.
  105.  
  106. All BBC files (except ROM images) need a 10 byte header which contain the load and execution addresses. On your Beeb, use *INFO to obtain this information for your disk files. The utility 'Append' adds these headers to the headerless files in 'Raw_Files' and writes the new, headered file to the 'Software' folder where Horizon can now load them (see section C for more on headers).
  107.  
  108.  
  109.  
  110. B - Keyboard Layout
  111. -------------------
  112.  
  113. All characters on the Apple keyboard are now where they're suppose to be. Exceptions and additions are as follows.
  114.  
  115.     
  116.       BBC key              On Mac Keyboard                     
  117.   
  118.          @                                .    (on keypad) as well as SHIFT 2                              
  119.          @                                CTRL A
  120.  
  121.          #                                `                                 
  122.  
  123.          CAPS LOCK                  Control                     
  124.       CTRL                             Alt/Option
  125.  
  126.    SHIFT LOCK           CAPS LOCK (no longer the apple/flower key)
  127.  
  128.       COPY                             ENTER    (on keypad)                   
  129.  
  130.       F0                               F10 or 0 (on keypad)
  131.       F1..F9                     F keys or 1..9 (on keypad)
  132.  
  133.    F0                   CTRL 0
  134.       F1..F9                     CTRL 1..9 
  135.  
  136.       BREAK                         No key, use menu option.
  137.  
  138.  
  139.  
  140. Why is the CTRL key not the Mac 'control' key and the CAPS LOCK key not the Mac 'caps lock' key? Well, many games use the CAPS LOCK and CTRL keys to move left and right, so it was important to keep this layout. 
  141.  
  142.  
  143.  
  144. C - File headers
  145. ----------------
  146.  
  147. The storage of BBC files is made more troublesome by the need to store the load and execute addresses for each file somewhere. The 'directory' approach was finally rejected in favour of keeping the information in a small header at the start of each file. Use the 'Append' utility to add headers to raw BBC files. The header consists of 10 bytes in the following format.
  148.  
  149.  
  150.      Offset         Byte             Comment
  151.  
  152.             0                255               Must always be 255
  153.             1                L-LO              Load address    
  154.             2                L-HI
  155.             3                E-LO              Execute address    
  156.             4                E-HI
  157.             5              *                Checksum
  158.            6..9            0                Four spare bytes
  159.          10.. EOF         data        File data proper
  160.  
  161.  
  162. The checksum * is computed as  (L-LO + L-HI + E-LO + E-HI) & 255. If this check fails or if the first byte is not 255, MacBeebEm will refuse to load the file. The last 4 bytes are currently unused and may take any value.
  163.  
  164. You are reminded that LOAD and CHAIN in BASIC loads the program at the PAGE setting and disregards the header info, although the header must still be present. As a guide, set the load and execute addresses for BASIC programs to &E00 and &8023 respectively if you are unsure.
  165.  
  166. *LOAD will only load files up to the 32K boundary between RAM and ROM. If this boundary is breached before the EOF is encountered, the remaining part of the file is ignored.
  167.  
  168. Note that summoning the Info box on the Mac for a file will not necessarily reveal the true length of the data fork, since custom icons will add a resource fork and the size of the file will include this extra information.
  169.  
  170.  
  171.  
  172. D - What works on Horizon
  173. -------------------------
  174.  
  175. The following firmware and software have been tested pretty successfully on Horizon.
  176. This is only a short list of the large amount of software that does work.
  177.  
  178.  
  179. Firmware - Acorn Monitor, AMPLE Nucleus, BASIC 2, ISO-Pascal, Toolkit and Wordwise Plus.
  180.  
  181. Software - Alien 8, Arcadians, Atic Atac, Aviator, Blagger, Castle Quest, Chuckie Egg, Citadel, Eddie Kidd, Elite, Exile, Frak!, Guardian, Jet Boat, Jet Pac, Knight Lore, Labyrinth, Magic Mushrooms, Meteors, Maze, Microcosm, Mister E, Monaco, Monsters, Night Shade, Planetoids, Repton, Revs 5 Track, Rocket Raid, Sabre Wulf, Scrabble, Snapper, Space Cadet, Spaceman Sid, Sphinx Adventure, Super Pool, System 15000, Tarzan, Thrust, Twin Kingdom Valley, Way of the Exploding Fist, White Knight II, Wizadore and Zalaga.
  182.  
  183.  
  184.  
  185. E - Known problems
  186. ------------------
  187.  
  188. At the time of this release the following defects are known:-
  189.  
  190. 1)   Loading problems within Acorn's ISO Pascal which uses OSFILE. Cause unknown.
  191.  
  192. 2)   Invalid opcodes as required by Zalaga and Exile have been included. No others are implemented. Games such as Manic Miner, Match Day and Repton 2 don't work at the moment. All other titles listed in Appendix D are '6502 clean' as far as I know.
  193.  
  194. 3)   The value in &FE60 seems to play a crucial role in the running of Planetoids and especially Snapper. It's been fudged to put a fairly random value there so that both games work okay but it's not an ideal solution.
  195.  
  196. 4)   Pressing the ShutDown key with the Horizon application active doesn't work (I haven't a clue why, maybe some Mac OS boffin can inform me). Not a big problem though, just quit Horizon first and then hit the ShutDown key.
  197.  
  198.  
  199.  
  200. F - MOS 1.20 compatibility
  201. --------------------------
  202.  
  203. Horizon intercepts the code in the MOS ROM at two locations. These are at
  204.  
  205. &F27D - The OSFILE routine. This address is reached by calling address &FFDD which indirects through &212. Check to see that ?&212 is &7D and ?&213 is &F2.
  206.  
  207. &F1B1 - The OSFSC routine. This address is reached indirectly through &21E. Check to see that ?&21E is &B1 and ?&21F is &F1.
  208.  
  209.  
  210. The ampersand '&' symbol denotes hexadecimal notation. If your MOS 1.20 doesn't pass the 2 tests above, let me know.
  211.  
  212.  
  213.  
  214.  
  215. G - My Beeb software doesn't work!
  216. ----------------------------------
  217.  
  218. Don't panic! 
  219.  
  220. 1)   Check that your original BBC files have transferred over correctly to the Mac. A baud rate higher than 4800 didn't work for me. The utility Decode expects your *DUMP files to have no preceding lines before the actual dump.
  221.  
  222. 2)   Make sure you have made a careful note of the load and execute addresses of each file and that you have typed them in correctly when using the Append utility.
  223.  
  224. 3)   Your disk software may expect PAGE to be set to &1900.
  225.  
  226. 4)   Your programs may require the DNFS to be present. There's no point expecting the DNFS ROM to work as a paged ROM because the required hardware emulation hasn't been coded.
  227.  
  228. 5)   Remember that the filing system is only partially implemented. If your programs use OSBPUT or OSBGET then these won't work.
  229.  
  230.  
  231.  
  232.  
  233. Horizon (c) Chris Lam 1994-6.
  234. This revision: March 1996.
  235.  
  236.  
  237.